nftables

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Nftables

nftables — подсистема ядра Linux, обеспечивающая фильтрацию и классификацию сетевых пакетов/датаграмм/кадров. Включена в ядро Linux, начиная с версии 3.13, выпущенной 19 января 2014 года[1]. Является проектом по замене пакетов iptables, ip6tables, arptables[en], ebtables в межсетевом экране Netfilter. За счёт объединения функциональности перечисленных пакетов, в nftables присутствует меньшее дублирование кода при построении правил для Netfilter и низкоуровневая оптимизация[2]. По состоянию на 26 апреля 2016 года находится в процессе разработки. В пространстве пользователя nftables настраивается при помощи утилиты nft.

Синтаксис командной строки nft

Синтаксис nft более схож с реальной грамматикой[2].

Команда для добавления правила блокирования пакетов, направленных на адрес 1.2.3.4:

nft add rule ip filter output ip addr 1.2.3.4 drop

Синтаксис такого же действия для iptables:

iptables -t filter -A OUTPUT -j DROP -d 1.2.3.4

Для обеспечения обратной совместимости предоставляется специальная прослойка, позволяющая использовать iptables/ip6tables поверх инфраструктуры nftables.

История

Проект был впервые представлен на Netfilter Workshop 2008 Патриком Мак-Харди из команды по разработке ядра Netfilter[3].

Первый предварительный релиз реализации ядра и пользовательского пространства был представлен в марте 2009 года[4]. Хотя инструмент был назван самым большим изменением межсетевого экрана Linux с момента появления iptables в 2001 году, в то время он получил мало освещения в прессе[5].

В октябре 2012 года, была предложена прослойка совместимости с iptables[6] и анонсировано возможное включение проекта в основную ветку ядра. 16 октября 2013 года был отправлен запрос на включение изменений (pull request) в ядро Linux[7]. 19 января 2014 года nftables был включён в ядро Linux версии 3.13[1].

Ссылки

Примечания

  1. 1,0 1,1 nftables, the successor of iptables. Linux 3.13. kernelnewbies.org (19 января 2014). Дата обращения: 4 марта 2016. Архивировано 25 января 2014 года.
  2. 2,0 2,1 Изучаем возможности nftables — нового пакетного фильтра Linux - «Хакер». Дата обращения: 25 апреля 2016. Архивировано 21 ноября 2016 года.
  3. User day program - NFWS2008. Workshop.netfilter.org (3 октября 2008). Дата обращения: 22 февраля 2014. Архивировано 30 июня 2017 года.
  4. initial release announcement. Дата обращения: 25 апреля 2016. Архивировано 1 октября 2015 года.
  5. Gray, Patrick. NEWS: Linux Gets New Firewall, Risky.biz (March 26, 2009). Архивировано 23 марта 2016 года. Дата обращения 25 апреля 2016.
  6. Linux Netfilter Devel - [RFC] back on nf_tables (plus compatibility layer). Spinics.net. Дата обращения: 20 января 2014. Архивировано 25 января 2015 года.
  7. '[PATCH 00/17] netfilter updates: nf_tables pull request' - MARC. Marc.info. Дата обращения: 20 января 2014. Архивировано 31 июля 2018 года.